home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1998 November / Freeware November 1998.img / dist / fw_mh.idb / usr / freeware / src / mh-6.8.3 / h / aliasbr.h.z / aliasbr.h
C/C++ Source or Header  |  1997-09-09  |  2KB  |  58 lines

  1. /* aliasbr.h - definitions for the aliasing system */
  2. /* $Id: aliasbr.h,v 1.2 1992/05/12 22:03:31 jromine Exp $ */
  3.  
  4.  
  5. extern char *AliasFile;        /* mh-alias(5) */
  6.  
  7. #define    PASSWD    "/etc/passwd"    /* passwd(5) */
  8.  
  9. #define GROUP   "/etc/group"    /* group(5) */
  10.  
  11. #define EVERYONE 200        /* lowest uid for everyone */
  12.  
  13. struct aka {
  14.     char   *ak_name;        /* name to match against */
  15.     struct adr *ak_addr;    /* list of addresses that it maps to */
  16.     struct aka *ak_next;    /* next aka in list */
  17.     char    ak_visible;        /* should be visible in headers */
  18. };
  19.  
  20. struct adr {
  21.     char   *ad_text;        /* text of this address in list */
  22.     struct adr *ad_next;    /* next adr in list */
  23.     char    ad_local;        /* text is local (check for expansion) */
  24. };
  25.  
  26. struct home {            /* incore version of /etc/passwd */
  27.     char   *h_name;        /* user name */
  28.     int     h_uid;        /* user id */
  29.     int     h_gid;        /* user's group */
  30.     char   *h_home;        /* user's home directory */
  31.     char   *h_shell;        /* user's shell */
  32. #ifdef    BSD42
  33.     int        h_ngrps;        /* number of groups this user belongs to */
  34. #endif /* BSD42 */
  35.     struct home *h_next;    /* next home in list */
  36. };
  37.  
  38. #ifndef    MMDFMTS
  39. struct  home *seek_home ();
  40. #endif /* MMDFMTS */
  41.  
  42. int     alias (), akvisible (), init_pw ();
  43. char   *akresult (), *akvalue (), *akerror ();
  44.  
  45. /* codes returned by alias() */
  46.  
  47. #define    AK_OK        0    /* file parsed ok      */
  48. #define    AK_NOFILE    1    /* couldn't read file      */
  49. #define    AK_ERROR    2    /* error parsing file      */
  50. #define    AK_LIMIT    3    /* memory limit exceeded */
  51. #define    AK_NOGROUP    4    /* no such group      */
  52.  
  53.  
  54. /* should live here, not in mts.c */
  55.  
  56. extern int Everyone;
  57. extern char *NoShell;
  58.